Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
In dit artikel vindt u aanvullende opmerkingen in de referentiedocumentatie voor deze API.
De Nullable klasse vertegenwoordigt een waardetype dat kan worden toegewezen null.
Een type wordt geacht nullable te zijn als deze een waarde kan worden toegewezen of kan worden toegewezen null, wat betekent dat het type geen enkele waarde heeft. Standaard zijn alle verwijzingstypen, zoals String, nullable, maar alle waardetypen, zoals Int32, zijn dat niet.
In C# en Visual Basic markeert u een waardetype als nullable met behulp van de ? notatie na het waardetype. Bijvoorbeeld, in C# of in Visual Basic wordt int? gebruikt om een geheel getalwaarde type te declareren dat aan Integer? kan worden toegewezen.
De Nullable<T> structuur staat toe dat alleen een waardetype als een nullable type wordt gebruikt, omdat referentietypen van nature nullable zijn.
De Nullable klasse biedt aanvullende ondersteuning voor de Nullable<T> structuur. De Nullable klasse ondersteunt het verkrijgen van het onderliggende type van een null-type en vergelijkings- en gelijkheidsbewerkingen op paren van null-typen waarvan het onderliggende waardetype geen algemene vergelijkings- en gelijkheidsbewerkingen ondersteunt.
Fundamentele eigenschappen
De twee fundamentele leden van de Nullable<T> structuur zijn de HasValue en Value eigenschappen. Als de HasValue eigenschap voor een Nullable<T> object is true, kan de waarde van het object worden geopend met de Value eigenschap. Als de HasValue eigenschap false is, is de waarde van het object ongedefinieerd en leidt een poging om toegang te krijgen tot de Value eigenschap tot een InvalidOperationException.
Boksen en uitpakken
Wanneer een nullable type wordt ge-boxed, wordt in de common language runtime automatisch de onderliggende waarde van het Nullable<T> object ge-boxed, niet het Nullable<T> object zelf. Als de HasValue eigenschap true is, wordt de inhoud van de Value eigenschap ingepakt. Wanneer de onderliggende waarde van een nullable type wordt uitgepakt, creëert de algemene taalruntime een nieuwe Nullable<T> structuur die is geïnitialiseerd met de onderliggende waarde.
Als de HasValue eigenschap van een aanpasbaar type nullwaarde is, is het resultaat van een boksbewerking falsenull. Als een ingepakte nullwaarde type wordt doorgegeven aan een methode die een objectargument verwacht, moet die methode voorbereid zijn om de situatie af te handelen waarin het argument null is. Wanneer null wordt uitgepakt naar een nullbaar type, creëert de Common Language Runtime een nieuwe Nullable<T>-structuur en initialiseert deze de eigenschap HasValue tot false.
Windows Runtime-onderdelen
U kunt een Nullable<T> type opnemen als lid van een structuur die wordt geëxporteerd in een WinMD-bibliotheek.